import mapboxgl from 'mapbox-gl'

export interface InteractionTip {
  title: string
  content: string
}

// 交互实现
export interface Interaction {
  type: string
  tip?: InteractionTip
  attach(map: mapboxgl.Map): void
  detach(map: mapboxgl.Map): void
  onMouseEnter(evt: mapboxgl.MapMouseEvent): void
  onMouseLeave(evt: mapboxgl.MapMouseEvent): void
  onMouseMove(evt: mapboxgl.MapMouseEvent): void
  onMouseUp(evt: mapboxgl.MapMouseEvent): void
  onMouseDown(evt: mapboxgl.MapMouseEvent): void
  onWheel(evt: mapboxgl.MapWheelEvent): void
  onKeyDown(evt: KeyboardEvent): void
}
